home *** CD-ROM | disk | FTP | other *** search
- PROGRAM PCQTrans;
-
- {
- Konvertiert BLink-Fehlerdateien für MegaEd
- von Wurzelsepp, 100% PD
- }
-
- {$I "include:exec/memory.i" }
- {$I "include:libraries/dosextens.i" }
- {$I "include:utils/Stringlib.i" }
-
- CONST
- file1 : String = "T:MegaEdMake-ErrFile";
- file2 : String = "T:MegaEdMake-Errors";
- size : String = "S";
- ret : Char = CHR(10);
- esc2 : Char = CHR($9b);
- esc : Char = CHR(27);
-
- ver_text : String = "\0$VER: MegaEd-TransBLink V1.0 (21.03.95)";
-
- VAR
- fileh : FileHandle;
- las,
- len,
- dummy : INTEGER;
- ansi : BOOLEAN;
- old : Address;
- oldoff : Char;
- off : ^Char;
-
- PROCEDURE TickleOn;
-
- BEGIN
- Inc(las);
- off:=Address(Integer(off)+1);
- END;
-
- BEGIN
-
- IF DeleteFile(file2) THEN ;
-
- fileh:=DOSOpen (file1,MODE_OLDFILE);
- IF fileh<>NIL THEN
- BEGIN
- dummy:=Seek(fileh,0,OFFSET_END);
- len:=Seek(fileh,0,OFFSET_BEGINNING);
- if len>0 THEN
- BEGIN
- old:=AllocMem (len,MEMF_PUBLIC+MEMF_CLEAR);
- IF old=NIL THEN
- BEGIN
- DOSClose (fileh);
- Exit;
- END;
- IF DOSRead(fileh,old,len)<>len THEN
- BEGIN
- FreeMem(old,len);
- DOSClose(fileh);
- Exit;
- END;
- END;
- DOSClose(fileh);
- IF (len=0) THEN Exit;
-
- fileh:=DOSOpen (file2,MODE_NEWFILE);
- IF fileh<>NIL THEN
- BEGIN
-
- las:=0;
- off:=old;
- dummy:=0;
- WHILE (las<len) AND (dummy<4) DO
- BEGIN
- IF off^=ret THEN Inc(dummy);
- TickleOn;
- END;
- IF las<len THEN
- BEGIN
- IF off^<>ret THEN
- BEGIN
- ansi:=FALSE;
- oldoff:=ret;
- WHILE (las<len) AND ((oldoff<>ret) OR (off^<>ret)) DO
- BEGIN
- IF (off^=esc) OR (off^=esc2) THEN ansi:=TRUE;
- IF ansi=FALSE THEN
- dummy:=DOSWrite (fileh,off,1)
- ELSE
- IF off^='m' THEN ansi:=FALSE;
- oldoff:=off^;
- TickleOn;
- END;
- END
- ELSE
- BEGIN
- TickleOn;
- dummy:=1;
- WHILE (dummy<38) AND (las<len) DO
- BEGIN
- Inc(dummy);
- TickleOn;
- END;
- IF (las<len) THEN
- BEGIN
- dummy:=DOSWrite (fileh,size,StrLen(size));
- WHILE (off^<>' ') AND (las<len) DO
- BEGIN
- dummy:=DOSWrite (fileh,off,1);
- TickleOn;
- END;
- END;
- END;
- END;
- DOSClose (fileh);
- END;
-
- FreeMem(old,len);
-
- END;
-
- END.
-